#!/bin/bash
#
# Copyright 2015-2017 Adrian DC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# === Notifications ===
function pushb()
{
  # Usage: pushb [message] (PushBullet notification helper)

  # PushBullet API Credentials
  export PushBulletToken='token';
  export PushBulletUser='user';
  export PushBulletNoteUrl='url';

  # Create  .bash_android.pushbullet.rc with the exports to override the credentials
  if [ -f "${ANDROID_DEVELOPMENT_SHELL_TOOLS_WORKSPACE:-${HOME}}/.bash_android.pushbullet.rc" ]; then
    source "${ANDROID_DEVELOPMENT_SHELL_TOOLS_WORKSPACE:-${HOME}}/.bash_android.pushbullet.rc";
  fi;

  # Ignore missing credentials
  if [ "${PushBulletToken}" = 'token' ]; then
    echo '';
    echo ' pushb: Open android_host_pushbullet.rc to see how to set your logins';
    echo '';
    return;
  fi;

  # PushBullet notification message
  if [ ! -z "${*}" ]; then
    PushBulletComment=${*};
    PushBulletNoteUrl=;
  else
    PushBulletComment='Done';
  fi;

  # PushBullet notification upload
  curl --header "Access-Token: ${PushBulletToken}" \
       --header "Content-Type: application/json" \
       --data-binary "{\"body\":\"${PushBulletComment}\",\"title\":\"\",\"type\":\"note\", \
                       \"url\":\"${PushBulletNoteUrl}\",\"created\":\"$(date +%s)\", \
                       \"active\":\"true\",\"sender_name\":\"${PushBulletUser}\"}" \
       --request POST https://api.pushbullet.com/v2/pushes > /dev/null;
}
